package co.gov.medellin.ssti.sub.model.dao;

import java.util.List;

import co.gov.medellin.ssti.sub.model.vo.Beneficiario_AtributoVO;
import co.gov.medellin.ssti.sub.model.vo.BeneficioOtorgadoEmpresaVO;
import co.gov.medellin.ssti.sub.model.vo.ModificarBOTVO;

public interface BOTEmpresaDAO {
	/**
	 * 
	 * @param codeBot
	 * @return
	 */
	String findSedeOtorgamientoByCodBot(Long codeBot);

	/**
	 * 
	 * @param tipoDato
	 * @param codeBeneOtor
	 * @param codeAtri
	 * @return
	 */
	ModificarBOTVO findBeneficioAtri(String tipoDato, String codeBeneOtor,
			String codeAtri);

	boolean updateBOTEmpresa(
			BeneficioOtorgadoEmpresaVO beneficioOtorgadoEmpresaVO,
			Long codeSedeOld, List<Beneficiario_AtributoVO> lListaInsertar);

	BeneficioOtorgadoEmpresaVO findBOT(Long codeBOT);

	boolean tieneBeneficio(Long empCodigo, Long sbprCodigo);

	boolean otorgarBeneficio(
			BeneficioOtorgadoEmpresaVO beneficioOtorgadoEmpresaVO,
			List<Beneficiario_AtributoVO> lInsert);

	Long findUltimoCodeBOTBySbpr(Long codeSubpro, Long codeEmpresa);

	String findValorBOTAtr(String tipoDato, Long codeBOT, Long codeAtri);

	/**
	 * 
	 * @param groupUserName
	 * @param userName
	 * @param codeBOTEmpresa
	 * @return
	 */
	boolean validarEditBOT(String groupUserName, String userName,
			Long codeBOTEmpresa);

	boolean validarDeleteBOT(String groupUserName, String userName, Long codeBOT);

	boolean deleteBOT(Long codeBOT);

}
